import os
import shutil

def add_exter(file_path, ext:str):
    # 分割路径,获取文件名
    file_name = os.path.basename(file_path)

    # 分割文件名,获取文件名部分
    name, _ = os.path.splitext(file_name)

    # 拼接文件名和后缀
    new_name = name + ext
    return new_name

def filterExcelFiles(fileList):
    filteredList = []

    for file in fileList:
        name, ext = os.path.splitext(file)
        if ext == '.xls' or ext == '.xlsx':
            filteredList.append(file)

    return filteredList


def move_files(file_list, save_dir):
    """
    将文件列表file_list中的所有文件移动到目录save_dir中

    Args:
        file_list: 源文件列表
        save_dir: 目标目录

    Returns:
        bool: True表示移动成功，False表示移动失败
    """
    # 检查目标目录是否存在，如果不存在则创建目录
    if not os.path.exists(save_dir):
        os.mkdir(save_dir)

    # 遍历文件列表，将每个文件移动到目标目录
    for file in file_list:
        # 拼接绝对路径和目标路径
        abs_path = os.path.abspath(file)  # 文件的绝对路径
        save_path = os.path.join(save_dir, os.path.basename(file))  # 文件的目标路径
        try:
            shutil.move(abs_path, save_path)
        except Exception as e:
            print("Move file {} failed, reason: {}".format(abs_path, e))
            return False

    return True

import hashlib

def calculate_sha(file_path):
    # 打开文件并计算SHA值
    with open(file_path, 'rb') as f:
        sha = hashlib.sha256()
        while True:
            data = f.read(1024)
            if not data:
                break
            sha.update(data)

    # 返回SHA值
    return sha.hexdigest()
